home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 2
/
Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso
/
Aminet
/
os20
/
wb
/
TSIcon.lha
/
TSIcon.h.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-06-09
|
6KB
|
279 lines
#ifndef TSICON_H
#define TSICON_H
#define INTUI_V36_NAMES_ONLY
#include <exec/types.h>
#include <clib/alib_protos.h>
extern struct IntuitionBase *IntuitionBase;
#include <clib/intuition_protos.h>
#include <pragmas/intuition_pragmas.h>
#include <clib/exec_protos.h>
extern struct ExecBase *SysBase;
#include <pragmas/exec_pragmas.h>
extern struct DosLibrary *DOSBase;
#include <clib/dos_protos.h>
#include <pragmas/dos_pragmas.h>
/* Below is undefined in 2.02 header file dos/dos.h */
#ifndef DOS_RDARGS
#define DOS_RDARGS 5
#endif
extern struct Library *WorkbenchBase;
#include <clib/wb_protos.h>
#include <pragmas/wb_pragmas.h>
extern struct Library *IconBase;
#include <clib/icon_protos.h>
#include <pragmas/icon_pragmas.h>
extern struct Library *CxBase;
#include <clib/commodities_protos.h>
#include <pragmas/commodities_pragmas.h>
extern struct Library *AslBase;
#include <clib/asl_protos.h>
#include <pragmas/asl_pragmas.h>
extern struct Library *UtilityBase;
#include <clib/utility_protos.h>
#include <pragmas/utility_pragmas.h>
/* Below is not in the 2.02 version of clib/utility_protos.h
pragmas/utility_pragmas.h */
#ifndef INCLUDES204
LONG Stricmp(UBYTE *string1,UBYTE *string2);
#pragma libcall UtilityBase Stricmp A2 9802
#endif
#include <clib/rexxsyslib_protos.h>
extern struct RxsLib *RexxSysBase;
#include <pragmas/rexxsyslib_pragmas.h>
#include <rexx/errors.h>
#include <Workbench/icon.h>
#include <Workbench/Startup.h>
#include <Workbench/Workbench.h>
#include <graphics/gfxbase.h>
extern struct GfxBase *GfxBase ;
#include <clib/graphics_protos.h>
#include <pragmas/graphics_pragmas.h>
extern struct Library *GadToolsBase;
#include <clib/gadtools_protos.h>
#include <pragmas/gadtools_pragmas.h>
/* Below are not in 2.02 version of libraries/gadtools.h */
#ifndef GT_Underscore
#define GT_Underscore GT_TagBase+64
#endif
#ifndef GTMN_FullMenu
#define GTMN_FullMenu GT_TagBase+62
#endif
#ifndef INCLUDES204
#ifdef ARROWIDCMP
#undef ARROWIDCMP
#endif
#define ARROWIDCMP (IDCMP_GADGETUP | IDCMP_GADGETDOWN |\
IDCMP_INTUITICKS | IDCMP_MOUSEBUTTONS)
#ifdef LISTVIEWIDCMP
#undef LISTVIEWIDCMP
#endif
#define LISTVIEWIDCMP (IDCMP_GADGETUP | IDCMP_GADGETDOWN |\
IDCMP_MOUSEMOVE | ARROWIDCMP)
#ifdef BUTTONIDCMP
#undef BUTTONIDCMP
#endif
#define BUTTONIDCMP (IDCMP_GADGETUP)
#endif
#include <intuition/gadgetclass.h>
#include <exec/memory.h>
#include <devices/timer.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <ios1.h>
/* Control structure for each AppIcon/Window */
struct IN {
struct Node IN_Node; /* Short name is in ln_Name */
struct DiskObject *IN_DiskObject;
struct AppIcon *IN_AppIcon;
struct AppWindow *IN_AppWindow;
STRPTR IN_FName;
struct List IN_AnimList;/* List of ANode */
struct Window *IN_W;
struct Gadget *IN_G;
struct ANode *IN_CurrANode;
ULONG IN_LastSeconds,IN_LastMicros,IN_YPos;
};
struct ANode {
struct Node AN_Node;
struct DiskObject *AN_DiskObject;
ULONG AN_CurrentTime; /* Time to wait to display in 1/10s */
ULONG AN_WaitTime;
};
#define CPORTNAME "_TSICON" /* Used for Control when run twice */
#define RPORTNAME "TSICON" /* The arexx port */
enum IconMessageType { /* Internal control messages */
IMT_Quit,
IMT_Add,
IMT_Show,
IMT_Enable,
IMT_Disable,
IMT_Hide,
IMT_Add_Add,
IMT_Remove
};
struct IconMessage {
struct Message IM_Message;
enum IconMessageType IM_Type;
STRPTR IM_Name;
};
#define CX_MESSAGE_POPUP 1 /* Hotkey Msg IDs */
#define CX_MESSAGE_WPOPUP 2
struct CommandEntry { /* Used for Arexx commands */
STRPTR CommandName;
};
/* dos rdargs stuff - template depends on if already running */
#define RD_Quit 0L
#define RD_Add 1L
#define RD_Remove 2L
#define RD_Show 3L
#define RD_Hide 4L
#define RD_Enable 5L
#define RD_Disable 6L
#define RD_Files 7L
#define Template "QUIT/S,ADD/S,REMOVE/S,SHOW/S,HIDE/S,ENABLE/S,DISABLE/S,FILES/M"
#define Template1 "SHOW/S,DISABLE/S,FILES/M"
#define RD_Show1 0L
#define RD_Disable1 1L
#define RD_Files1 2L
#define len 256
void mymain(char *line);
void DoMessage(struct AppMessage *AppMessage);
void SError(STRPTR ErrorMessage);
BOOL DoIt(struct IN *IN,char *DirName,char *FileName);
BOOL AddObject(STRPTR ObjectName,BOOL JustAdd);
BOOL AddIcons(struct IN *IN);
void RemoveIcons(struct IN *IN);
BOOL DeleteObject(STRPTR filepart);
BOOL SafePutToPort(struct IconMessage *message, STRPTR portname,struct MsgPort *ReplyPort);
void About(void);
void DeleteNum(ULONG Num);
void Show(BOOL defaultscreen);
void Hide(void);
void Up(void);
void Down(void);
void Add(void);
void Delete(void);
void IEnable(void);
void IDisable(void);
BOOL SafeAddObject(STRPTR ObjectName,BOOL JustAdd);
void StripIntuiMessages(struct MsgPort *mp,struct Window *win);
void CloseWindowSafely(struct Window *win);
void WinDisable(void);
void WinEnable(void);
int FindCommand(char *command);
BOOL ListObjects(char *FileName);
/* Various defines originally set up by TplEdit */
#define WLEF 0
#define WTOP 204
#define WWID 290
#define WHEI 171
#define GLEF_0 14
#define GTOP_0 105
#define GWID_0 70
#define GHEI_0 13
#define GLEF_1 14
#define GTOP_1 29
#define GWID_1 70
#define GHEI_1 13
#define GLEF_2 108
#define GTOP_2 28
#define GWID_2 173
#define GHEI_2 109
#define GLEF_3 14
#define GTOP_3 49
#define GWID_3 70
#define GHEI_3 13
#define GLEF_4 14
#define GTOP_4 85
#define GWID_4 70
#define GHEI_4 13
#define GLEF_5 212
#define GTOP_5 140
#define GWID_5 69
#define GHEI_5 21
#define GLEF_6 108
#define GTOP_6 140
#define GWID_6 69
#define GHEI_6 21
#define GLEF_7 8
#define GTOP_7 132
#define GWID_7 85
#define GHEI_7 29
#define BLEF_0 8
#define BTOP_0 24
#define BWID_0 85
#define BHEI_0 101
#define GAD_R_Disable 0
#define GAD_R_Hide 1
#define GAD_R_List 2
#define GAD_R_Quit 3
#define GAD_R_Enable 4
#define GAD_R_Delete 5
#define GAD_R_Add 6
#define GAD_R_About 7
#define ALLGADS 8
#define NG_R_Disable (NGAry + GAD_R_Disable)
#define NG_R_Hide (NGAry + GAD_R_Hide)
#define NG_R_List (NGAry + GAD_R_List)
#define NG_R_Quit (NGAry + GAD_R_Quit)
#define NG_R_Enable (NGAry + GAD_R_Enable)
#define NG_R_Delete (NGAry + GAD_R_Delete)
#define NG_R_Add (NGAry + GAD_R_Add)
#define NG_R_About (NGAry + GAD_R_About)
void
FreeGads(void);
struct Gadget *
InitGads(struct Screen *Scr);
void
drawborders(void);
#endif